= KeePassXC – Import/Export Operations
include::.sharedheader[]
:imagesdir: ../images

// tag::content[]
== Importing External Databases
KeePassXC allows you to import external databases from the following options:

* Comma Separated Values (.csv)
* 1Password Export (.1pux)
* 1Password Vault (.opvault)
* Bitwarden (.json)
* KeePass 1 Database (.kdb)

To import any of these files, start KeePassXC and either click the `Import File` button on the welcome screen or use the menu Database > Import... to launch the Import Wizard.

.Import Wizard
image::import_wizard.png[]

For each of the import options, you will be prompted to select the file to import and then provide credentials to unlock the file, if necessary. You can then choose to import the file into a new database or into an existing database that is already unlocked in KeePassXC.

=== Importing CSV File
WARNING: A CSV file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Follow the steps above and click `Continue`. The CSV import wizard will appear.

2. On this dialog you can choose the various options for properly importing the data. Analyze the output in the preview at the bottom to determine the correct import settings. You may need to re-map the column associations to match the data in your CSV file.
+
.CSV Import Wizard
image::csv_import.png[]

3. Click `Done` to complete the import. If you chose to create a new database, the New Database dialog will appear. Otherwise your entries will be nested under the group you chose for the existing database.

=== Importing 1Password Export
WARNING: A 1Password Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the 1Password Export option.

2. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing 1Password OPVault
NOTE: You must have 1Password version 7 or 8 to export your data to an OPVault. If you are using a newer version of 1Password, you should use the 1Password Export (1PUX) format instead.

Save your 1Password Vault locally to create an OPVault directory. Please see 1Password instructions on how to do this. Once an OPVault is created, perform the following steps:

1. Open the Import Wizard as shown above. Select the 1Password Vault option.

2. Enter the password for your vault and click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing Bitwarden
WARNING: A Bitwarden Export file may be unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the Bitwarden option.

2. Optionally provide a password to decrypt the Bitwarden export file. You should only need to do this if you have chosen the encrypted json export option within Bitwarden.

3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing KeePass 1 Database
KeePass 1 database is an older format of the database created using a legacy version of KeePass. KeePassXC lets your import this older format of the database and you can seamlessly start using this database in your new KeePassXC application.

To import a KeePass 1 database file in KeePassXC, perform the following steps:

1. Open the Import Wizard as shown above. Select the KeePass1 Database option.

2. Enter the password for your database and optionally provide a key file if it was configured for your KeePass1 database.

3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

== Exporting Databases
KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive.

WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information.

.Database export menu
image::export_database.png[,80%]

The HTML export file is intended to be human-readable (viewed/printed in a web browser) rather than machine-readable (re-imported into another database file). The intention of HTML export is to provide a "paper backup" functionality for those who want to ensure access to their passwords in case of catastrophic failure of IT infrastructure. To create a paper backup, export the database to an HTML file, print the file with your web browser, then delete the file.

WARNING: Creating a paper backup exposes your passwords to potentially insecure components, like printer drivers on your computer or software inside the printer. Make sure all these components can be trusted.

For more information, check out the https://keepassxc.org/blog/2020-10-03-paper-backup/[blog article about paper backups].

// end::content[]
